<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>一元运算符</title>
</head>
<body>
<p>
众多的 JavaScript 的运算符可以根据所需表达式的个数，分为一元运算符、二元运算符、三元运算符
</p>
<p>
一元运算符, 比如: 正负号 <br>
这里我们只介绍 自增运算符
</p>
<hr>

<p>
自增：  <br>
符号：++ <br>
作用：让变量的值 +1 <br>
自减： <br>
符号：--  <br>
作用：让变量的值 -1
</p>
<hr>

<!--演示-->
<script>
    let a = 1 // 定义变量
    a++ // 变量自增, 相当于 a = a + 1
    console.log(a) //值 2

    let b = 1 // 定义变量
    b-- // 变量自减, 相当于 b = b - 1
    console.log(b) //值 0

    // ----------重要说明: 符号在变量前和变量后, 运算有区别--------

    // 前置自增：先自加再使用（记忆口诀：++在前 先加）
    let i = 1
    console.log((++i) + 2) // 值 4
    // 注意: i 是 2
    // i 先自加1,变成2了. 在与2相加
    console.log(i) // 再次输出 i 值是 2, 因为前面自增了一次

    // 后置自增：先使用再自加（记忆口诀：++在后 后加)
    let c = 1
    console.log((c++) + 2) // 值 3
    // 注意: c 是 1
    // c 先与2相加, 先运算输出信息.  然后在自增操作是2
    console.log(c) // 再次输出 c 值是 2, 因为前面自增了一次

    // 总结: 一个先计算再自增，一个先自增再计算
    //自减, 也是一样

    // 了解
    let Q = 1
    console.log(Q++ + ++Q + Q) // Q -> ++ -> ++ -> +Q -> +Q
    //          1  +   3  + 3
    // 把 ++ 看作一个函数, 更加容易理解. 代码是从左到右依次执行
    console.log(Q++ + Q++ + Q)
    //          1  +   2  + 3
</script>
</body>
</html>